/*-----------------------------------------------File Info------------------------------------------------
** File Name:               SC12B.c  
** Last modified date:      2016.07.22
** Last version:            V0.1
** Description:             
**--------------------------------------------------------------------------------------------------------            
** Created date:            2016.09.07
** author:                  YLY
** Version:                 V0.1
** Descriptions:            键盘扫描处理函数
**--------------------------------------------------------------------------------------------------------
*/
/*************************************************************
* 	include 
* 	头文件	
*************************************************************/
#include "I2cWR.h"
#include "SC12B.h"
#include "key.h"
static uint8_t gAddr = SC12B_ADDRL;


/*******************************************************************************
*名 称: 
*功 能: sc12B 功能初始化
*入口参数: 无
*出口参数: 无
*说 明:
*******************************************************************************/
bool sc12bInit(void)
{
	uint8_t buf[2];
	uint8_t ret = 0;
	
	gAddr = SC12B_ADDRO;
	do
	{
		if(i2cReadReg(gAddr, Output_REG, buf, 2) == false) // ----------- Sensivity Register Ch 7 ~ Ch8 ---------------
		{		
			gAddr = SC12B_ADDRL;
			if(i2cReadReg(gAddr, Output_REG, buf, 2) == false) // ----------- Sensivity Register Ch 7 ~ Ch8 ---------------	
			{
				ret = 1;	
				break;		//错误
			}
		}
		//SCDBG("sc12bAddress:%x\n",gAddr);

		//灵敏度从低到高 0x04  0x15  0x25  0x36  0x47  0x58  0x68  0x79 
		//               0x8A  0x9B  0xAC  0xBC  0xCD  0xDE  0xEF  0xFF 	
		buf[0] = 0x79;	//CIN4初始值
		if(i2cWriteReg(gAddr,SenSet0_REG,buf,1) == FAIL) // ----------- Sensivity Register Ch 7 ~ Ch8 ---------------
		{
			ret = 2;	
			break;		//错误
		}
		
		buf[0] = 0x79;	//其它通道
		if(i2cWriteReg(gAddr,SenSetCOM_REG,buf,1) == FAIL) // ----------- Sensivity Register Ch 7 ~ Ch8 ---------------
		{
			ret = 3;	
			break;		//错误
		}	
		
		////////非必要，不建议修改，不用直接注释掉/////////////////////////////
		buf[0] = SLPCYC_0R5T/* 60MS */ | SLOW_TO_SLEEP | NOTHOLD | KVF_50S_CORREC | RTM0;
		if(i2cWriteReg(gAddr,CTRL0_REG,buf,1) == FAIL)
		{
			ret = 4;	
			break;		//错误
		}	
		
		////////无必要，不建议修改，不用直接注释掉/////////////////////////
		buf[0] =0b1000;
		if(i2cWriteReg(gAddr,CTRL1_REG,buf,1) == FAIL)
		{
			ret = 5;	
			break;		//错误
		}	

	}while(0);
	if(ret)
	{
		SCDBG("sc12bInitERR\n");
		return false;
	}
	//SCDBG("sc12bInitOK\n");
	return true;
}

uint8_t readSc12bValue(uint8_t *pBuf)
{	
	#if 1
	/////////////////////////SC12B按键信息读取//////////////////////////////////////
	/////////////////////////////////////////////////////////////////////////////////////
	////  寄存器地址        Bit7----Bit6----Bit5----Bit4----Bit3----Bit2----Bit1----Bit0
	////                    |      |       |       |       |       |       |       |
	////  08  pBuf[0]   CIN0----CIN1----CIN2----CIN3----CIN4----CIN5----CIN6----CIN7
	////                    |      |       |       |       |       |       |       |
	////  09  pBuf[1]   CIN8----CIN9----CIN10---CIN11--- L  ---- L  ---- L  ---- L
	////////////////////////////////////////////////////////////////////////////////////
	return i2cReadReg(gAddr, Output_REG, pBuf, 2);
	
	#else
	uint8_t    channel;		
	/////////////////////////////////////////////////////////////////////////////////////////
	//SC05B SC09B  SC12B  读取各个通道采样值,常规下不建议使用，如需使用请详细读取规格书//////////
	////////////////////////////////////////////////////////////////////////////////////////////
	return i2cReadReg(gAddr, SAMP_REG,pBuf,2);
	#endif
}








